Zavretie PopupMenu

Otázka od: Stanislav Kochan

13. 11. 2002 14:07

nazdar,
Neporadil by mi niekto ako programovo zavriet PopupMenu? Potrebujem aby sa
Popup po zobrazeni sam po 2 sekundach zavrel.

Stano.

Odpovedá: Vit Tichy

13. 11. 2002 14:55

Joha Stanislav,

S> Neporadil by mi niekto ako programovo zavriet PopupMenu? Potrebujem aby sa
S> Popup po zobrazeni sam po 2 sekundach zavrel.

Jako takova nejrychlejsi prasarna mne napada posilat v timeru
rodicovskemu oknu ESC klapku.

PostMessage(self.Handle, WM_KEYDOWN, VK_ESCAPE, 0);

--
 vt

Odpovedá: Ondrej Kelle

13. 11. 2002 15:42

> Neporadil by mi niekto ako programovo zavriet PopupMenu?
> Potrebujem aby sa
> Popup po zobrazeni sam po 2 sekundach zavrel.

Mal by stacit timer a WM_CANCELMODE:

procedure TForm1.PopupMenu1Popup(Sender: TObject); // PopupMenu1.OnPopup
begin
  Timer1.Enabled := True;
end;

procedure TForm1.Timer1Timer(Sender: TObject); // Timer1.OnTimer
begin
  (Sender as TTimer).Enabled := False;
  SendMessage(PopupList.Window, WM_CANCELMODE, 0, 0);
end;

Globalna premenna PopupList sa nachadza v unite Menus.pas.

HTH
TOndrej